小编Pat*_* A.的帖子

渲染静态页面时的Rails路由冲突

我有路由冲突。将所有博客文章从/posts/:id移到/:id(很棒)之后,我现在遇到一个问题,我的静态页面不包含ID,因此无法呈现。我不想通过我的posts控制器处理它们。

这是我的routes.rb文件中当前包含的内容:

  resources :posts, only: [:index, :create, :edit, :new, :destroy]
  get '/:id' => 'posts#show', :as => 'custom_url'
  match '/posts/:id' => redirect('/%{id}', status: 301)
Run Code Online (Sandbox Code Playgroud)

但是这些现在不起作用了...

  match '/privacy' => 'static#privacy'
  match '/terms' => 'static#terms'
Run Code Online (Sandbox Code Playgroud)

我有一个名为static_controller.rb的控制器,可以在需要时使用。我该如何跳过/:id比赛。

更新:

还遇到了我的def更新无法更新我的内容的问题。

  def update
    @post = Post.find(params[:id])

    respond_to do |format|
      if @post.update_attributes(params[:post])
        format.html { redirect_to @post, :notice => 'Post was successfully updated.' }
        format.json { head :no_content }
      else
        format.html { render :action => "edit" }
        format.json { render :json => …
Run Code Online (Sandbox Code Playgroud)

ruby ruby-on-rails ruby-on-rails-3

3
推荐指数
1
解决办法
41
查看次数

高度条件的Rails 3视图

我有一个Rails 3应用程序,我使用了很多条件语句来改变页面的设计.为了拥有如此大量的条件,保持逻辑不在视图中的最佳做法是什么?

假设示例:

<% unless @ethos.blank? %>
 <%= unless @work.nil? do %>
  <%= link_to "Add Work", work_path %>
 <% end %>   
 <%= @ethos.tagline %>
<% end %>
Run Code Online (Sandbox Code Playgroud)

我在其他条件中有更多的条件.在一个视图中管理这个的最佳方法是什么?

conditional ruby-on-rails

0
推荐指数
1
解决办法
759
查看次数