nii*_*lai 0 ruby ruby-on-rails ruby-on-rails-4
我试图这样做,如果有人发一个没有标题的帖子,帖子将获得默认标题.
到目前为止我已经尝试过了
调节器
def create
@post = Post.create(post_params)
if @post.title.nil?
@post.update(:title => 'Unnamed')
else
# DO NOTHING
end
end
Run Code Online (Sandbox Code Playgroud)
调节器
def create
if params[:title].nil?
params[:title] == 'Unnamed'
@post = Post.create(post_params)
else
@post = Post.create(post_params)
end
end
Run Code Online (Sandbox Code Playgroud)
但它不起作用.什么想法我做错了什么?提前致谢.
我认为这是模型的责任,使自己保持有效状态.此外,如果多个控制器更新相同型号的更改,则根据DRY原则,它是最佳解决方案.因此我会在Post模型中做这样的事情:
before_validation :set_default_title
private
def set_default_title
self.title = title.presence || 'Unnamed'
end
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
515 次 |
| 最近记录: |