刘华佼的全栈学习记录

待解决问题

| Comments

待解决

Q:

为什么flash[:warning] = "This job already archieved"有效果,
notice: "This job already archieved"有效果,
warning: "This job already archieved"这句却没效果?

 def show
   @job = Job.find(params[:id])

   if @job.is_hidden
     flash[:warning] = "This job already archieved"
     redirect_to root_path, warning: "This job already archieved"
   end
 end

flashhelper内容如下:

module FlashesHelper
  FLASH_CLASSES = { alert: "danger", notice: "success", warning: "warning"}.freeze

  def flash_class(key)
    FLASH_CLASSES.fetch key.to_sym, key
  end

  def user_facing_flashes
    flash.to_hash.slice "alert", "notice", "warning"
  end
end

A

不解。

Q:

title不能为空是simpleform的限制吗?通览第三课

基本解决

——————————————————————————————————

Q:

参数什么时候用group,什么时候用@group?

A:

group是全部,@group是单个。

Q:

:is_hidden => false
is_hidden: false是实现同一功能不同写法吗?

A:

view每个方法有固定的写法,不一定

Q:

rails g controller admin::resumes
rails g controller account/posts是实现同一功能不同写法吗?

A:

一样

Q:

看到有两种类似写法:
<%= simple_form_for [@group, @post] do |f| %>
https://fullstack.xinshengdaxue.com/posts/77

<%= simple_form_for [:admin, @job] do |f| %>
https://fullstack.xinshengdaxue.com/posts/546
@group:admin的语法不同,@能互换吗?

A:

(xbearx1987回复
@与:不能互换

resources :groups do
resources :posts
end
此为[@group, @post]

namespace :admin do
resources :jobs
end
此为[:admin, @job]

Q:

config/routes.rb
member do 
    post :publish
  post :hide
end 

member是系统关键字还是自定义的?

A

系统关键字。rails routes

Q:

什么时候用git push -u origin master,什么时候用git push origin xxx?

A:

git push origin master
推送本地的 master 分支到远程的 origin 仓库
git push -u origin master
预设以后都是推到远程 origin 仓库的 master

Q:

什么情况下要重开server?

A:

改了不用重开server的地方:

app/controllers
app/views
app/models
app/assets/stylesheets
app/assets/javascripts
db/migrate/

改了要重开server的地方:

Routing (网址由这边控制)

config/routes.rb
rake routes 可以看所有路径

Gemfile ( 套件都放在这里 )

改完一定要 bundle install
然后重开 server
server 会检查 Gemfile.lock 有没有完成相依性检查

Q:

什么时候用<%=,什么时候用<%?

A:

<%= @post.title %> # 显示 @post.title
<% @post.title %> # 执行 @post.title

<% sum = 0 %>
<% for i in 1..10 %>
    <% sum = sum + i %>
<% end %>
<%= sum %>

以上的代码表示:执行 1+2+3+4+5+6+7+8+9+10 的运算后,印出 55。

“:”在不同位置一般对应什么意思?

Comments

comments powered by Disqus